import 'package:casdon/modules/login/data/api/login_api.dart';
import 'package:casdon/modules/login/data/api/request_emailCode_api.dart';
import 'package:casdon/modules/login/data/api/request_sms_api.dart';
import 'package:casdon/modules/login/data/api/validate_otp_api.dart';

abstract class AuthRepository {
  // 发送验证码，短信验证码
  Future<ResponseSmsApi> sendSmsCode(RequestSmsApi request);

  // 发送邮箱验证码
  Future<bool> sendEmailCode(RequestEmailcodeApi request);

  // 校验验证码
  Future<ResponseValidateOtpApi> vierfyCode(RequestValidateOtpApi request);

  // 登录
  Future<ResponseLogin> login(RequestLogin request);

  // 更新密码
  Future<void> postUpdatePwd(String userName, String pwd);

  Future<void> postDelAccount();

  // 检测账号是否已经注册过
  Future<bool> postCheckIsAlreadyRegister(String userName);

  // 注册
  Future<void> postRegister(String userName, String grantType, String password);

  // 登出
  Future<void> postLogOut();
}
